In order to enable two computers to communicate, both computers must be able to communicate in a common interface language. A common example of such an interface language is the Hyper-Text Mark-up Language (HTML). This is commonly used on web browsers. All modern computers with a web-browser can interpret HTML, but they may not necessarily be able display the data on any particular device due to varying screen sizes and hardware performance limitations.
For this reason, the Extensible Markup Language (XML) has become more popular than HTML because it allows the data content to be separated from how the data is displayed on a browser. XML is “a meta-language”, meaning that until a data set is defined, the language itself only provides the rules for the creation of a specific mark-up language.
Another interface language is the Extensible Hyper-Text Mark-up Language (XHTML) which is used for interfacing data to web browsers on smartphones and tablets. The XHTML provides the rules for different devices (having different size and performance characteristics) to adapt webpages for those particular devices. For example, when a web browser on a mobile telephone receives the data it has to render the webpage differently to how it would be rendered on a desktop computer or tablet computer.
Computer systems also are used to operate railway networks. Those computers may be used to compute many aspects of the operation of the railway. For example, they may be required to track the current location of any particular locomotive or access timetables of where the locomotives should be and when they should be there (to determine whether a locomotive is operating on time). The computer systems operating the railway networks also require an interface language.
Each computer recipient of the data needs rules on how to interpret that data, so that the information is processed correctly. Multiple computers may need similar but slightly different data. For example, one computer may require time or location to be defined with two decimal points (e.g. 10.12), but another computer may require time and location to be defined with 5 decimals points (e.g. 10.12345). If data is transmitted in a format which a computer cannot interpret, the computer will not be able to process that data and the railway system will not operate.
Locomotives have many elements that are required by an operator of the railway system. Each of those elements have attributes. The attributes may be fixed or dynamic. Fixed attributes may include, for example, the date on which locomotive was manufactured (e.g. 1 Jan. 2000), whether it has driver cockpits at each end, and the power characteristics of the locomotive. Dynamic attributes may include, for example, the fuel level, oil temperature, speed, and location. Those attributes form the content of a message about the locomotive. However, the computer recipient may only be programmed to interpret a subset of the attributes in the message.
A universal means of interpreting the data for any particular computer railway control system is required.
The object of the invention is to transmit data for railway computer control systems in one format and have all recipient computing devices interpret that data correctly.